阿里2014笔试题一道:

某缓存系统采用LRU淘汰算法,假定缓存容量为4,并且初始为空,那么在顺序访问一下数据项的时候:1,5,1,3,5,2,4,1,2出现缓存直接命中的次数是?,最后缓存中即将准备淘汰的数据项是?

答案:3, 5
解答:
1调入内存 1
5调入内存 1 5
1调入内存 5 1(命中 1,更新次序)
3调入内存 5 1 3
5调入内存 1 3 5 (命中5)
2调入内存 1 3 5 2
4调入内存(1最久未使用,淘汰1) 3 5 2 4
1调入内存(3最久未使用,淘汰3) 5 2 4 1
2调入内存 5 4 1 2(命中2)
因此,直接命中次数是3,最后缓存即将准备淘汰的数据项是5


赵雍
1.7k 声望70 粉丝

一个还在探索人生的码农